package DAO;


import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import DBConection.ConexionBD;
import Modelo.*;

public class Combustible_VehiculoDao {

	private Connection conn;

	public Combustible_VehiculoDao() {
		conn = ConexionBD.getConnection();
	}

	public void addCombus_Veh(Combustible_Vehiculo objCom_Veh) {

		try {

			String sql = "INSERT INTO "+ConexionBD.getNombre_BD()+".TBL_Combustible_Vehiculos(vehiculoId,combustibleId,Capacidad_Max,Descripcion)"
					+ " VALUES (?, ?, ?, ?)";
			PreparedStatement ps = conn.prepareStatement(sql);

			ps.setInt(1, objCom_Veh.getVehiculoId());
			ps.setInt(2, objCom_Veh.getCombustibleId());
			ps.setFloat(3, objCom_Veh.getCapacidad_Max());
			ps.setString(4, objCom_Veh.getDescripcion());
			ps.executeUpdate();

		} catch (SQLException e) {
			e.printStackTrace();
		}
	}	
		public void removeCombus_Veh(int combustibleVehiculoId) {
			try {
				String sql = "DELETE FROM "+ConexionBD.getNombre_BD()+".TBL_Combustible_Vehiculos WHERE combustibleVehiculoId=?";
				PreparedStatement ps = conn.prepareStatement(sql);
				ps.setInt(1, combustibleVehiculoId);
				ps.executeUpdate();

			} catch (SQLException e) {
				e.printStackTrace();
			}
		}

		public void editCombus_Vehiculo(Combustible_Vehiculo objCom_Veh) {
			try {
				String sql = "UPDATE "+ConexionBD.getNombre_BD()+".TBL_Combustible_Vehiculos SET vehiculoId=?,combustibleId=?,Capacidad_Max=?,Descripcion=? "
						+ " WHERE combustibleVehiculoId=?";
				PreparedStatement ps = conn.prepareStatement(sql);

				ps.setInt(1, objCom_Veh.getVehiculoId());
				ps.setInt(2, objCom_Veh.getCombustibleId());
				ps.setFloat(3, objCom_Veh.getCapacidad_Max());
				ps.setString(4, objCom_Veh.getDescripcion());
				
				ps.executeUpdate();

			} catch (SQLException e) {
				e.printStackTrace();
			}
		}

		public List<Combustible_Vehiculo> getAllCombus_Veh() {
			List<Combustible_Vehiculo> Combus_veh = new ArrayList<Combustible_Vehiculo>();
			try {
				String sql = "SELECT * FROM "+ConexionBD.getNombre_BD()+".TBL_Combustible_Vehiculos";
				PreparedStatement ps = conn.prepareStatement(sql);
				ResultSet rs = ps.executeQuery();
				while (rs.next()) {
					Combustible_Vehiculo objCom_Veh = new Combustible_Vehiculo();
					objCom_Veh.setCombustibleVehiculoId(rs.getInt("combustibleVehiculoId"));
					objCom_Veh.setCombustibleId(rs.getInt("combustibleId"));
					objCom_Veh.setVehiculoId(rs.getInt("vehiculoId"));
					objCom_Veh.setCapacidad_Max(rs.getInt("Capacidad_Max"));
					objCom_Veh.setDescripcion(rs.getString("Descripcion"));
					Combus_veh.add(objCom_Veh);
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}

			return Combus_veh;
		}

		public Combustible_Vehiculo getCombus_VehById(int combustibleVehiculoId) {
			Combustible_Vehiculo objCom_Veh = new Combustible_Vehiculo();
			try {
				String sql = "SELECT * FROM "+ConexionBD.getNombre_BD()+".TBL_Combustible_Vehiculos WHERE combustibleVehiculoId=?";
				PreparedStatement ps = conn.prepareStatement(sql);
				ps.setInt(1, combustibleVehiculoId);
				ResultSet rs = ps.executeQuery();

				if (rs.next()) {
					
					objCom_Veh.setCombustibleVehiculoId(rs.getInt("combustibleVehiculoId"));
					objCom_Veh.setCombustibleId(rs.getInt("combustibleId"));
					objCom_Veh.setVehiculoId(rs.getInt("vehiculoId"));
					objCom_Veh.setCapacidad_Max(rs.getInt("Capacidad_Max"));
					objCom_Veh.setDescripcion(rs.getString("Descripcion"));
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
			return objCom_Veh;
		}	
		
	

}

